题解 CF1360A@洛谷 | 1360A@Codeforces 【Minimal Square】

这场 CF div 3 只 AC 了 5 题,水平还有待提高。

此题是一道结论题,找规律发现边长最小为长宽最小值的两倍与最大值的最大值。(是不是看晕了?来看数学式子吧):

k=max{2×min{a,b},max{a,b}}k=\max\{2\times\min\{a, b\}, \max\{a, b\}\}

轻松写出代码:

//By: Luogu@rui_er(122461)
#include <bits/stdc++.h>
using namespace std;

int main() {
	int T, a, b;
	scanf("%d", &T);
	while(T--) {
		scanf("%d%d", &a, &b);
		int mi = min(a, b);
		int ma = max(a, b);
		int k = max(ma, 2*mi);
		printf("%d\n", k*k);
	} 
	return 0;
}